Digital imaging systems have created a revolution in photography and cameras. A digital camera is similar to a film camera except that the film is replaced with an electronic sensor. The sensor is comprised of an array of photo detectors that change the photons that strike them into electrons providing a signal at each pixel proportional to the number of photons, or the amount of light at each pixel. Presently, most consumer digital cameras employ Charge Coupled Device (CCD) or Complementary Metal Oxide Semiconductor (CMOS) sensors. To facilitate the collection of light, many of the sensors employ a small lens-like structure covering each pixel, which is called a microlens. These microlenses are typically made by forming a layer of photoresist that is placed upon the pixel frame.
When subjected to light, the image sensor converts incident photons to electrons. The conversion enables analog electronic circuitry to process the image “seen” by the sensor array. The electrons gathered by these sensors are stored in small capacitors that are read out as a series of varying voltages, which are proportional to the image brightness. An Analog to Digital Converter (ADC) conditions these voltages for processing by a computer within the camera. The data is then processed to form a picture of the image “seen” by the sensor array.
CMOS sensors typically use a ‘rolling’ shutter which causes the sensitive pixel elements to acquire the image information in a sequential fashion, moving from top to bottom in the image. Because there is a time delay in the image acquisition between one row of the image pixels and a subsequent row, there may have been a change in the actual light level, causing unwanted variability in the image.
One type of unwanted variability that can be present in a digital image quality is flicker. In general, flicker is a perceivable repeating fluctuation in the brightness level between rows of pixels in the image. In a digital camera, flicker can be caused by the fluctuation in light provided by common light sources. Specifically, almost all artificial light sources are modulated by the alternating current which powers them. This modulation in alternating current can cause repeating fluctuations in light intensity, from bright to dark and dark to bright. For example, some light sources, such as inexpensive fluorescent light and low temperature tungsten lighting are particularly likely to create light intensity fluctuations that vary at power line frequencies. These intensity fluctuations in light output occur at a relatively high rate (e.g., 120 Hz) and are not generally noticeable to the naked human eye. However, these fluctuations can interact with the digital camera timing due to the rolling shutter in the CMOS sensor, resulting in noticeable variability in the digital image. For example, the fluctuations can result in horizontal bars of light and dark appearing in the images. Even if these bars are not as strong in contrast as the objects in the image, the bars can be noticeably regular and apparent across the bright parts of the image. One effect is the appearance of regularly-spaced, horizontal bars in a still image. Furthermore, in a live-view image, the rolling of these bars causes apparent flicker of the entire image.
One way to address flicker in a digital camera is to change the operational parameters of the camera when flicker occurs. In these methods, when flicker is detected the operational parameter of the camera is adjusted to reduce and/or eliminate the flicker. For example, the electronic shutter speed of the camera can be adjusted to operate at a frequency that is less likely to interact with the light intensity fluctuations. Other techniques can also be used to compensate and reduce the flicker in the resulting digital images.
For these methods to work, a reliable and efficient method for detecting flicker is needed. These methods should be able to reliably detect flicker even where background features include shapes with similar variations. Unfortunately, previous methods of flicker detection have had limited reliability and/or have required large amounts of computing resources. Thus, what is needed is a system and method for flicker detection that improves the reliability and efficiency of flicker detection in a digital camera.